package com.common.utils;

public class GenerateUtils {
	
	private static final String MOBILE_PREFIX = "188";
	
	private static final String[] MOBILE_ARR = new String[]{"135", "138", "139", "136", "137", "150", "152", "158", "159", "189"};
	
	//生成188开头的随机手机号
	public static String generateMobile()
	{
		String mobileSuffix = String.valueOf(generateRand(11111111, 99999999));
		String tempMobile = MOBILE_PREFIX + mobileSuffix;
		if (tempMobile.length() != 11)
		{
			return generateMobile();
		}
		else
		{
			return tempMobile;
		}
	}
	
	public static String generateMobilePrefix()
	{
		return MOBILE_ARR[generateRand(0, 9)];
	}
	
	/**
	 * 生成[a,b]之间的随机数
	 * @param a
	 * @param b
	 * @return
	 */
	public static int generateRand(int a, int b)
	{
		double rand = Math.random();
		double multiResult = rand * (b-a+1);
		int intResult = (int) multiResult;
		int result = intResult + a;
		
		return result;
	}
	
	
	private static String RAND_STR = "0123456789";
	
	public static String generateNewMobile()
	{
		String tempSuffix = "";
		for (int i = 0; i < 8; i++)
		{
			char randChar = RAND_STR.charAt(generateRand(0, 9));
			tempSuffix += randChar;
		}
		
		return MOBILE_PREFIX + tempSuffix;
	}
	
	//最新版生成手机号算法
	public static String generateRandMobile()
	{
		String tempSuffix = "";
		for (int i = 0; i < 8; i++)
		{
			char randChar = RAND_STR.charAt(generateRand(0, 9));
			tempSuffix += randChar;
		}
		
		return generateMobilePrefix() + tempSuffix;
	}
	
//	private static String[] mobilePrefix = new String[]{
//		"130",
//		"131",
//		"132",
//		"133",
//		"134",
//		"135",
//		"136",
//		"137",
//		"138",
//		"139",
//		"130",
//		"151",
//		"152",
//		"153",
//		"154",
//		"155",
//		"156",
//		"157",
//		"158",
//		"159",
//		"180",
//		"181",
//		"182",
//		"183",
//		"184",
//		"185",
//		"186",
//		"187",
//		"188",
//		"189",
//	};
}
